package com.cheer.service;

import com.cheer.dto.UserItem;
import com.cheer.vo.ExPresentAudioStatisticsVO;
import com.cheer.vo.ExPresentAudioVO;
import com.cheer.vo.ExPresentUserAudioByMonthVO;

import java.util.List;

/**
 * @author cheer
 */
public interface ExPresentAudioService {

    ExPresentAudioStatisticsVO getStatistics();

    List<ExPresentAudioVO> search(Integer pageNum, Integer pageSize, String name, Integer userId);

    List<ExPresentAudioVO> getGoodAudios(Integer pageNum, Integer pageSize, Integer userId);

    List<ExPresentAudioVO> getLatestAudios(Integer pageNum, Integer pageSize, Integer userId);

    List<ExPresentAudioVO> getAudiosByType(Integer pageNum, Integer pageSize, Integer type, Integer userId);

    ExPresentAudioVO getNextGoodAudio(Integer id, Integer userId);

    ExPresentAudioVO getRandomGoodAudio(Integer userId);

    ExPresentAudioVO getNextLatestAudio(Integer number, Integer userId);

    ExPresentAudioVO getRandomLatestAudio(Integer userId);

    ExPresentAudioVO getNextTypeAudio(Integer number, Integer type, Integer userId);

    ExPresentAudioVO getRandomTypeAudio(Integer type, Integer userId);

    List<ExPresentUserAudioByMonthVO> getUserAudio(Integer userId);

    UserItem getUserInfo(Integer userId);

    ExPresentAudioVO getInfo(Integer id, Integer userId);

    void delete(Integer id, Integer userId);

    Integer generate(String serviceId, Integer userId);

    void vote(Integer id, Boolean vote, Integer userId);

    void updateByUserId(Integer id, String department, String path);

}

